define(['app'],function(app){return {module: function($scope, $http, eventBusService, httpService, params) {

	$scope.menu = {};

	//接收数据刷新
	eventBusService.subscribe('content.page.reload', function(event,data) {
		$scope.find();
	});

	if(params.father_id!='undefined'){
		httpService.post(app.urls.menu_select,{"id":params.father_id},function(data){
			if("0000" === data.code){
				$scope.menu_name = data.data[0].name;
				$scope.findButton(data.data[0].id);
			}else{
				alert(data.msg);
			}
		});
	}else {
		$scope.form.type=params.type;
	}

	$scope.findButton=function(menu_id){
		httpService.post(app.urls.button_select,{"menu_id":menu_id},function(data){
			if("0000" === data.code){
				$scope.buttons = data.data;
			}else{
				alert(data.msg);
			}
		});
	}

	//按钮事件
	$scope.operate = function(event) {
		$scope[event]();
	}

	//撤销
	$scope.cancel = function (){
		var values = [];
		$('#'+$scope.controllerName+' input[name="dataPk"]:checked').each(function(){
			values.push($(this).val());
		});
		if(values.length < 1){
			eventBusService.publish('modal.alert', {"title":"操作提示","content":"请选择数据。"});
		}else if(values.length > 1){
			eventBusService.publish('modal.alert', {"title":"操作提示","content":"您选择了多行数据，请重新选择。"});
		}else {
			let item = $scope.rows.find(item =>{
				return item.id == values[0];
			});
			if (item.is_cancel == '1'){
				eventBusService.publish('modal.alert', {"title":"操作提示","content":"请勿重复撤销。"});
			}else{
				eventBusService.publish("modal.alert",{"content":"请是否确认对该学生进行撤销操作？","isAutoClose":false,"confirm":function(){
					let query = {
						'id': item.id,
						'fk_student': item.fk_student,
						'state': item.fk_last_state,
						'type': item.type,
					}
					httpService.post(app.urls.cancelStudentChange, query, function(data){
						if("0000" === data.code){
							$scope.find();
						}else{
							alert(data.msg);
						}
					});
				},"cancel":function(){
					//用户取消，不做操作
				}});
			}
		}
	}


	//按钮点击事件-条件查询
	$scope.select = function(){
		$scope.page.current = 1;
		$scope.find();
	}

	//查询学生列表
	$scope.find = function(){
		httpService.postpage(app.urls.student_change_select,$scope.form,function(data){
			if("0000" === data.code){
				$scope.rows = data.data;
			}else{
				alert(data.msg);
			}
		});
	}

	//查询年级
	$scope.findGrade = function(){
		httpService.post(app.urls.grade_selectCenterGrade,{"fk_unit":$scope.form.fk_unit},function(data){
			if("0000" === data.code){
				$scope.gradeList = data.data;
			}else{
				alert(data.msg);
			}
		});
	}

	//获取班级
	$scope.findClass=function(){
		$scope.classList = [];
		httpService.post(app.urls.class_selectClassName,{"fk_unit":$scope.form.fk_unit,"fk_grade":$scope.form.fk_grade,"status":'0'},function(data){
			if("0000" === data.code){
				$scope.classList = data.data;
			}else{
				alert(data.msg);
			}
			$scope.$applyAsync();
		});
	}

	//学生状态
	$scope.findStudentStatus = function(){
		httpService.post(app.urls.dictionary_selectByRule,{fk_rule:"SJAAAAA10061"},function(data){
			if("0000" === data.code){
				$scope.statusList = data.data;
			}else{
				alert(data.msg);
			}
		});
	}

	let init = function (){
		$scope.form.fk_unit=app.userInfo.unitId;
		$scope.find();
		$scope.findGrade();
		$scope.findStudentStatus();
	}

	init();
		//选择数据
		$scope.optData = function (element) {
			if($(element).find("input[name='dataPk']").is(":checked")){
				$(element).find("input[name='dataPk']").prop("checked",false);
				$(element).removeClass("opt_tr");
			}else{
				$(element).find("input[name='dataPk']").prop("checked",true);
				$(element).addClass("opt_tr");
			}
		}
		$scope.checkAll = function(target) {
			$("#" + $scope.controllerName + " input[name='dataPk']").each(function() {
				if ($(this).prop("checked")) {
					$(this).prop('checked', false);
					$(this).parents("tr").removeClass("opt_tr");
				} else {
					$(this).prop('checked', true);
					$(this).parents("tr").addClass("opt_tr");
				}
			})
		}
}}});